1529D - Kavi on Pairing Duty - CodeForces Solution


combinatorics dp math number theory *1700

Please click on ads to support us..

Python Code:

import sys

input = sys.stdin.readline
inf = float('inf')


def getInt():
    return int(input())


def getStr():
    return input().strip()


def getList(split=True):
    s = getStr()
    if split:
      s = s.split()
    return map(int, s)

t = 1

M = 998244353 
def solve():
                n = getInt()
    dp = [0] * (n+1)
    dp[0] = 1
    for i in range(2, 2*n+1, 2):
      for j in range(i, 2*n+1, i):
        dp[j//2] += 1
    c = 0
    for i in range(1, n+1):
      dp[i] += c
      dp[i] %= M
      c += dp[i]
      c %= M
    print(dp[-1])



      
  

for _ in range(t):
    solve()

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
using ll = long long;
using P = pair<ll, ll>;

void solve() {      
    int n;cin>>n;
    vector<int> dp(n+1);
    int sum = 1;
    dp[0] = 1;

    int mod = 998244353;
    for(int i = 1;i<=n;i++){
        for(int j = 2*i;j<=n;j+=i){
            dp[j] ++;
        }
    }

    for(int i = 1;i<=n;i++){
        dp[i] += sum;
        dp[i] %= mod;
        sum += dp[i];
        sum %= mod;
    } 

    cout << dp[n] << endl;
}   

signed main() {
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    // int t;cin >> t;while (t--)
        solve();
    return 0;
}


Comments

Submit
0 Comments
More Questions

1519A - Red and Blue Beans
466A - Cheap Travel
659E - New Reform
1385B - Restore the Permutation by Merger
706A - Beru-taxi
686A - Free Ice Cream
1358D - The Best Vacation
1620B - Triangles on a Rectangle
999C - Alphabetic Removals
1634C - OKEA
1368C - Even Picture
1505F - Math
1473A - Replacing Elements
959A - Mahmoud and Ehab and the even-odd game
78B - Easter Eggs
1455B - Jumps
1225C - p-binary
1525D - Armchairs
1257A - Two Rival Students
1415A - Prison Break
1271A - Suits
259B - Little Elephant and Magic Square
1389A - LCM Problem
778A - String Game
1382A - Common Subsequence
1512D - Corrupted Array
667B - Coat of Anticubism
284B - Cows and Poker Game
1666D - Deletive Editing
1433D - Districts Connection